﻿#region << 版 本 注 释 >>

/*----------------------------------------------------------------
* 类 名 称 ：MessageComponent
* 类 描 述 ：
* 作    者 ：henrychang
* 创建时间 ：2019/1/27 12:35:48
*******************************************************************
* Copyright @ henrychang 2019. All rights reserved.
*******************************************************************
//----------------------------------------------------------------*/

#endregion << 版 本 注 释 >>

using TouchFish.Event;

namespace TouchFish.Component
{
    /// <summary>
    /// 消息组件
    /// </summary>
    public class MessageComponent : Component, IMessageSystem
    {
        public MessageComponent(string name) : base(ComponentView.MessageComponent)
        {
        }

        private MessageSystem _messageSystem = new MessageSystem();

        public bool RegisterMessage(int key, OnEvent fun)
        {
            return _messageSystem.RegisterMessage(key, fun);
        }

        public bool SendMessage(int key, params object[] param)
        {
            return _messageSystem.SendMessage(key, param);
        }

        public void UnRegisterMessage(int key, OnEvent fun)
        {
            _messageSystem.UnRegisterMessage(key, fun);
        }

        public void UnRegisterMessage(int key)
        {
            _messageSystem.UnRegisterMessage(key);
        }

        public override void Dispose()
        {
            base.Dispose();
            _messageSystem.OnRecycled();
        }
    }
}